const fs = require('fs');
const path = require('path');

// 合并文件夹下的所有 JSON 文件
function mergeJsonFiles(folderPath, outputFilePath) {
  // 读取文件夹中的所有文件
  fs.readdir(folderPath, (err, files) => {
    if (err) {
      console.error('读取文件夹失败:', err);
      return;
    }

    // 用来存储合并后的数据
    let mergedData = {};

    // 过滤出所有的 JSON 文件
    const jsonFiles = files.filter(file => file.endsWith('.json'));

    // 遍历每个 JSON 文件
    jsonFiles.forEach(file => {
      const filePath = path.join(folderPath, file);
      const fileName = path.parse(file).name; // 获取文件名（不带扩展名）

      // 读取并解析每个 JSON 文件
      const fileData = JSON.parse(fs.readFileSync(filePath, 'utf8'));

      // 将文件内容合并到 mergedData 对象中，文件名作为键
      mergedData[fileName] = fileData;
    });

    // 将合并后的数据写入到指定的输出文件
    fs.writeFileSync(outputFilePath, JSON.stringify(mergedData), 'utf8');
    console.log(`合并后的文件已保存到: ${outputFilePath}`);
  });
}

// 使用示例
const folderPath = '../pngToWebp/doing'; // 你指定的文件夹路径
const outputFilePath = '../../assets/LevelAb/level_coord.json'; // 输出合并后的 JSON 文件路径

mergeJsonFiles(folderPath, outputFilePath);
